/***************************************
*@author: Khaled Tangao
*@brief: This strategy is created to load multiple images in a object.
*@date: 23/02/2009
*@version 1
*****************************************/


#ifndef DYNAMIC_IMAGE_STRATEGY_H
#define DYNAMIC_IMAGE_STRATEGY_H

#include <vector>
#include <string>
#include "LDF/VisComponentStrategy.h"
class ImageLoading;

class DynamicImageStrategy: public VisComponentStrategy
{
	public:
		//the constructor
		DynamicImageStrategy();
		~DynamicImageStrategy();
		
		//add a new file
		void addFile(std::string fileName);
		//drawing functions
		void draw(const std::vector<unsigned long>& selectedIds);
		void drawForPicking();

private:
	//vector saving informations about the files (images), used
	std::vector<std::pair<std::string, unsigned int>> imagesFiles;
	ImageLoading * imageLoader;

	int counter;
	int random;

};

#endif //DYNAMIC_IMAGE_STRATEGY_H
